package lab02.test23;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;


public class Test {
    public static void main(String[] args) throws ParseException {
// 编写Java应用程序，从命令行输入你的生日信息，
// 然后计算你的生日还有多少天，你的生日是星期几

/*        DateFormat format = new SimpleDateFormat("yyyy-MM-dd");//把时间设置为年-月-日
        Calendar cal = Calendar.getInstance();//使用默认时区和语言环境获得一个日历。
        Date date = cal.getTime();
        int day = cal.getActualMaximum(Calendar.DAY_OF_MONTH);//每个月天数
        System.out.println("today is:"+format.format(date));
*/

/*        java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");
        java.util.Date beginDate = format.parse("2008-12-24");
        java.util.Date endDate = format.parse("2007-12-25");
        long day = (beginDate.getTime() - endDate.getTime()) / (24 * 60 * 60 * 1000);
        System.out.println("相隔的天数=" + day);
*/

        Scanner sc = new Scanner(System.in);
        DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        DateFormat format1 = new SimpleDateFormat("E");


        System.out.println("请输入今年生日（如：2017-01-01）：");
        Date date = format.parse(sc.nextLine());



        Calendar cal = Calendar.getInstance();
        Date date1 = format.parse(format.format(cal.getTime()));

        long day = (date.getTime() - date1.getTime()) / (24 * 60 * 60 * 1000);
//        long day1 = date.getTime() + 1000*60*60*24*365;
//        long day2 = date.getTime();
//        long day3 = date1.getTime();
//        System.out.println(day2);
//        System.out.println(day3);
//        Date date3 = format.parse(format.format(day1));
//        System.out.println(format.format(date3));
        if (day>0){
            System.out.println("你还有" + day+"天过生^.^");
            System.out.println("生日当天是："+format1.format(date));

        }else {
            System.out.print("今年的生日已经过了^.^，不过明年的生日");
            System.out.println("你还有" + (day+365)+"天过生^.^");
            int week=cal.get(Calendar.DAY_OF_WEEK)-1;
            System.out.println("生日当天是："+"星期"+week);
        }

    }
}
